package reflect;
/**
 * @Target:用于指明当前朱姐可以被应用的位置，具体由ElementType表示
 * ElementType.TYPE:表示当前注解可以应用在类上
 * ElementType.METHOD:表示当前注解可以应用在方法上
 * ElementType.FIELD:表示当前注解可以应用在属性上
 * ElementType.CONSTRUCTOR:表示当前注解可以应用在构造方法上
 * ElementType.PARAMETER:表示当前注解可以应用在形参/方法参数上
 *
 * 例如：当前注释只能在类上使用
 * @Target(ElementType.TYPE)
 * 例如：当前注释可以再类上及属性上使用
 * @Target({ElementType.TYPE,ElementType.FIELD})
 *
 * @Retention:用于指明当前注解被保留的时间长短，具体由RetentionPolicy表示
 * RetentionPolicy.SOURCE:表示当前注解只在源代码中保留，不会被编译器编译到class文件中
 * RetentionPolicy.CLASS:表示当前注解在class文件中保留，但jvm加载class文件时，注解会被丢弃
 * RetentionPolicy.RUNTIME:表示当前注解在class文件中保留，jvm加载class文件时，注解也会被保留
 */

import java.lang.annotation.ElementType;
import java.lang.annotation.Retention;
import java.lang.annotation.RetentionPolicy;
import java.lang.annotation.Target;

@Target(ElementType.TYPE)
@Retention(RetentionPolicy.RUNTIME)
public @interface AutoRunClass {

}
